#include<stdio.h>
#include<stdlib.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<string.h>
#include<unistd.h>
#include<pthread.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <sys/msg.h>

#define ERROR(x) do{ \
    perror(x); \
    printf("%s-%s-%d", __FILE__, __func__, __LINE__); \
}while(0)
// stm32 tcp_serve ip port
 #define MCUIP "192.168.43.26"
 #define MCUPORT 8888


//共享内存
#define SHM_KEY 1234
#define SEM_KEY 5678
#define SHM_SIZE 512
//共享内存结构体
struct shmseg {
    int written;         // 是否写入数据
    int read_flags[2];   // 接收者是否读过
    char text[SHM_SIZE]; // 消息内容
};

void sem_wait(int semid); //信号量 P 操作
void sem_signal(int semid);//信号量 V 操作
int create_shmtoserv(int shmid,struct shmseg *shm);//创建共享,并映射

// 消息队列
#define MSG_KEY 9999
#define MSG_SIZE 512
struct msgbuf {
    long mtype; //
    char mtext[MSG_SIZE];
};

//设备搜索
#define SB_IP "192.168.43.26"
#define SB_PORT 9999
